package com.kehutong.charge.service;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.coraframework.inject.ImplementedBy;
import org.coraframework.json.JSONObject;
import com.kehutong.charge.entity.ChargeUrgingConfig;
import com.kehutong.charge.entity.ChargeUrgingManage;
import com.kehutong.charge.service.impl.ChargeUrgingServiceImpl;
import com.kehutong.charge.util.enums.ChargeUrgingLadderEnum;

/**
 * @program: kht
 * @description: 催费配置服务接口
 * @author: joneron
 * @create: 2021/6/29
 **/
@ImplementedBy(ChargeUrgingServiceImpl.class)
public interface ChargeUrgingService extends BaseService<ChargeUrgingConfig>{

    /**
     * 查询催费管理列表
     * @param jsonObject
     * @return
     */
    Object findUrgingPage(JSONObject jsonObject);

    /**
     * 添加催费
     * @return
     */
    Object insertManage(ChargeUrgingManage chargeUrgingManage, JSONObject jsonObject);

    void pageUrgingExport(HttpServletRequest req, HttpServletResponse resp, JSONObject jsonObject);

    Object urgingUserList(JSONObject jsonObject);

    Object chargeUrgingTask() throws Exception;

    boolean isRemindUrgingUser(String billNo);

    List<ChargeUrgingConfig> getChargeUrgingConfigs(ChargeUrgingLadderEnum urgingDate, String communityNo);

    Object pageChargeUrgingEmployee(JSONObject jsonObject);

    Object configInit() throws Exception;
}
